Method for making a product

ABSTRACT

A method and a computer program are described for developing a product ( 110 ), and services associated with the product, which product has at least one activation area ( 308 ) which is provided with a position code ( 403 ) that codes at least one position on an imaginary surface ( 601 ), which position causes a device ( 710 ) that detects the position code ( 403 ) to initiate an operation that utilizes information recorded by the device ( 710 ). A digital representation of at least part of the product comprising image points is produced, each image point in the digital representation of the activation area ( 308 ) corresponding to a position on the imaginary surface ( 601 ). A digital template that can be used for making the digital representation of the product is also described.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of co-pending application Ser. No.09/941,871 filed on Aug. 30, 2001, and for which priority is claimedunder 35 U.S.C. §120; and application Ser. No. 09/941,871 is anon-provisional application claiming priority under 35 U.S.C. §119(e) ofU.S. Application No. 60/276,027 filed Mar. 16, 2001, claiming priorityunder 35 U.S.C. §119(a) of Application No. 0100724-4 filed in Sweden onMar. 1, 2001, and claiming priority under 35 U.S.C. §120 ofInternational Application Nos. PCT/SE00/02640, PCT/SE00/02641 andPCT/SE00/02659 filed on Dec. 22, 2000 and International Application No.PCT/SE00/01667 filed on Aug. 30, 2000; the entire contents of all arehereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to a method for making a product that hasat least one activation area which is provided with a position code thatcodes at least one position on an imaginary surface, which positioncauses a device that detects the position code to initiate apredetermined operation that utilizes the position recorded by thedevice. The invention also relates to a memory medium with a programwhich is adapted to carry out the method according to the invention.

BACKGROUND ART

Many people use paper and pen instead of computers for writing shortpieces of text, in particular notes from telephone calls and meetings.The reason can be that there is no computer available, that both handsare needed to enter text efficiently via the computer's keyboard, orthat it takes a long time to start up the right program in the computer.Even though the notes are written on a sheet of paper, people often alsowant to enter selected parts of them into a computer, for example a noteabout a meeting in a digital calendar or an address in a digital addressbook.

U.S. Pat. No. 5,852,434 and U.S. Pat. No. 5,477,012 show a device thatmakes it possible for a user to enter handwritten and hand-drawninformation into a computer at the same time as the information is beingwritten/drawn on the writing surface. The device comprises a writingsurface on which a position code that codes X-Y-coordinates is arranged,and a special pen with a pen point, using which the user can write ordraw on the writing surface. The pen also has a light source forilluminating the position code and a CCD sensor for receiving the lightthat is reflected from the position code. The position informationreceived by the CCD sensor is sent to a computer for processing. Thisdevice appears to require a computer to be started up and a particularprogram to be opened before the user can begin to write on the writingsurface.

Similar devices are shown in U.S. Pat. No. 5,661,506, U.S. Pat. No.5,051,736, U.S. Pat. No. 5,652,412 and U.S. Pat. No. 5,442,147.

U.S. Pat. No. 5,932,863 shows how a user can access an electronic mediumby reading off a symbol, code or the like in a printed item, for examplea book, by means of a device. The device sends a signal with theread-off symbol to a control unit that executes a command correspondingto the symbol. A similar method is disclosed in WO99/50787.

When making products with a position code and symbols that correspond toa command, it is necessary to have access to a sample product and a penin order to test the product. However, it is desirable to avoid havingto make the entire set of products that is to be produced before testingthe product. This is expensive and difficult since a possible defect inthe product would imply that the entire set of products would have to beprinted once more. It would thus be desirable to have a method formaking products according to the invention where this disadvantage iseliminated.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a method and a computerprogram that simplify the making and testing of products with a positioncode.

Another object of the present invention is to provide a simplifiedmethod for developing products with an activation area with a positioncode, an operation being associated with the activation area.

These objects are achieved by means of a method and a memory mediumaccording to the independent claims.

Further advantages are achieved by the characteristics in the dependentclaims.

According to an aspect of the invention, a method is provided fordeveloping a product that has at least one activation area which isprovided with a position code that codes at least one position on animaginary surface, which position causes a device that detects theposition code to initiate an operation that utilizes the positionrecorded by the device. The method is characterized by the step ofproducing a digital representation of at least part of the product,which representation comprises image points, each image point in thedigital representation of the activation area corresponding to aposition on the imaginary surface.

Thus a digital representation of at least part of the product isproduced. The part of the product is, for instance, an advertisement ina newspaper, in which case the advertisement does not occupy the entirepage. Of course, it is possible for the digital representation torepresent the whole page.

In the following, the expression digital representation of a productwill be used, when part of the product is intended as well as when theentire product is intended.

The information recorded by the device is advantageously converted intoa position which is used to initiate the operation.

There is thus a connection between image points on the display andpoints on the digital representation of the product. A point on thedigital representation of the product is in turn associated with aposition on the imaginary surface.

By using a digital representation of the product, the design and testingof the product is made easier. In addition the programming is madeeasier of an operation that is activated by detecting the position codein an activation area using a device that is adapted to detect theposition code.

The position code is so designed that any suitable subset of theposition code, which subset has a predetermined size, codes the absolutecoordinates for a position on an imaginary surface.

The position code is preferably arranged to be recorded optically, butit is within the scope of the invention that it is arranged to berecorded by, for example, electromagnetic radiation of any suitablewavelength.

The position code is advantageously coded by at least one positionsequence with position symbols, which is so arranged that a partialsequence of predetermined length defines unambiguously the location ofthe partial sequence in the position sequence. This means that eachsymbol only needs to code a small number of different values. As aresult of each symbol only coding a few values, the construction of thesymbol is simplified.

Each of the position symbols advantageously contributes to the coding intwo orthogonal directions.

Each of the position symbols consists preferably of at least one mark,the location of said at least one mark in relation to a raster definingthe value of the symbol.

Alternatively, each of the position symbols can consist of a mark, thesize of the mark defining the value of the symbol.

In this connection, by product is meant all possible articles on which aposition code can be applied. Primarily this refers to sheets of paperin magazines, books and as loose leafs, but other articles such asnoticeboards can also be provided with a position code.

The method according to the invention also comprises advantageously thesteps of testing the product by means of marking an image point,converting the image point into a position on the imaginary surface, andinitiating the operation by the use of the position.

As there is a connection between image points and positions on theimaginary surface, it is relatively easy to test the operation that isassociated with the position code in the activation area. The conversionof the image point into a position means that it is possible to test theoperation that is associated with the position without needing to make aphysical product. This results in a considerable saving in both time andmoney.

A method according to the invention advantageously comprises also thesteps of entering a digital template with a digital representation of atleast one activation area with a position code, and selecting at leastone of said activation areas in order to generate the digitalrepresentation of the product.

As a template is taken as the base when creating the digitalrepresentation of the product, a product for a specific purpose can bemade in a simple way. For example, templates are provided by a companythat licenses templates. By licensing different templates for differentpurposes, said company can ensure that a licensee buys a specialtemplate for each application.

The template advantageously also comprises a digital representation of awriting surface with a position code, each image point in the digitalrepresentation of the writing surface corresponding to a position on theimaginary surface. The writing surface codes a continuous area on theimaginary surface.

The writing surface is included advantageously in all templates that areexpected to use an entry field for handwritten information. A user whowants to create a digital representation of a product selects at leastpart of the writing surface.

The template advantageously also comprises a digital representation of acharacter-interpretation field with a position code, each image point inthe digital representation of the character-interpretation fieldcorresponding to a position on the imaginary surface.

By having fields for character-interpretation in the template, theselection of such fields for the product is made possible. Such fieldsare, for example, useful if the template is intended for a purposewhere, for example, an address or the like, such as an e-mail address,telephone number or fax number, is to be entered. Thecharacter-interpretation fields have, advantageously, a position codethat is a part of a special area in the imaginary area. This makes itpossible for a device that detects the position code to determinestraight away that the information entered in thecharacter-interpretation field is to be interpreted as a character.

A method according to the invention advantageously also comprises thesteps of showing the digital representation of the product on a display,with several pixels, where each pixel is allocated one or more imagepoints or each image point is allocated one or more pixels, and, when apixel on the display is marked, converting this into the correspondingimage point or image points and converting each image point into aposition on the imaginary surface, and initiating the operation by useof the position on the imaginary surface.

This is a simple way to test the product and makes testing possiblewithout it being necessary to make the product.

It is however not essential to have access to all information on thedigital representation of the product to be able to test theapplication. Thus, according to an embodiment of the invention a seconddigital representation of the product may be used for testing, saidsecond digital representation having information on the activation areasand other areas with a position code and their respective positions inrelation to each other, but without any information relating only to theappearance of the product. Thus, for example no color information isincluded in this second digital representation.

The testing is advantageously carried out using a computer where thedigital representation of the product is shown on a display. The methodadvantageously also comprises the steps of showing the digitalrepresentation of the product on a display with several pixels, eachpixel being allocated one or more image points or each image point beingallocated one or more pixels, and, when a pixel on the display has beenmarked, converting this into the corresponding image points andconverting each image point into a position on the imaginary surface,and initiating the operation by use of the position on the imaginarysurface.

The method advantageously also comprises the step of defining andassociating an operation with at least one of said activation areas.Thus, for example, programming of a computer is carried out in such away that the positions of the activation area are associated with acertain operation.

When the digital representation of a product has been tested accordingto the above description, a test printout of the product isadvantageously made on an ordinary sheet of paper using a printer whichgives a sufficiently high quality of the printout. The printer must beable to reproduce the position code with sufficient accuracy to allowthe position code to be read. The printout which has been made on anordinary sheet of paper is tested with a reading pen which is adapted toread the position code. Thus, the physical product is tested with theaid of a reading pen and the digital representation of the product. Bytesting is here meant that different parts of the physical products arerecorded by the device, after which the recorded parts are compared withthe digital representation of the product. It is not necessary to testthe digital representation of the product before making the testprintout.

Testing of the product comprises according to an embodiment of theinvention the steps of recording an image of a predetermined part of theproduct, converting the recorded image into a position, and comparingthe recorded position with its equivalence in the digital representationof the product.

According to another embodiment, the testing of the product comprisesthe steps of recording an image of a predetermined part of the product,and determining a size of dots in the image in order to determine aquality of the pattern.

The size of the dots is a measure of the quality of the printingprocess. If the printing process is not good enough, it will affect thesize of the dots in the pattern. If the size of the dots differs toomuch from the desired size, this may jeopardize the recording andinterpretation of the pattern.

Other properties to be tested are density and contrast for the marks aswell as the form of the marks.

The printer used for the test printout can thus be of an arbitrary typeas long as it produces a printout of sufficiently high quality. Theprinter is therefore advantageously a laser printer. Alternatively, theprinter is an ink jet printer or dye sublimation printer.

The product which is to be sold to consumers is advantageously producedon a large scale, for example, in an ordinary printing press.Advantageously, first only a small amount of products are produced in afirst lot, after which the printed products are tested with a readingpen before the rest of the products are printed. This means that theproducts are tested in the condition in which they are to be sold, andthere will be a warning if something has gone wrong. The testing meansin this case that it is checked that the position-coding pattern on theprinted product corresponds to the digital representation of theproduct.

The tests used in testing the product that has been printed in alarge-scale printing press can be one or more of the testing stepsdescribed above. An economically important step is the step of testing asmall lot of the printed product since it is in this step that anindication will be obtained whether the completed product is correct ornot.

When a user enters positions from a finished product in the form, forexample, of a sheet of paper using a device for recording the positioncode, the device sends signals to a server where the operation isinitiated.

Where there is a writing area, it is also possible to define a part ofthe writing area as an activation area and to associate an operationwith the activation area thus defined.

The method advantageously also comprises the steps of sending thedigital representation of the product to a printer and of printing itout on the printer.

According to a second aspect of the present invention, a memory mediumis provided on which there is stored a computer program for developing aproduct which has at least one activation area which is provided with aposition code that codes at least one position on an imaginary surface,which position causes a device which detects the position code toinitiate a predetermined operation that utilizes the position recordedby the device. The memory medium is characterized in that the program,when it is executed on a computer, causes the computer to produce adigital representation of the product, which representation comprisesimage points, each image point in the digital representation of theactivation area corresponding to a position on the imaginary surface.

The program is advantageously arranged, in response to an image point inthe digital representation being marked, to generate an output signalcomprising information about the position on the imaginary surface thatcorresponds to the marked image point.

The program is advantageously arranged to enter a digital template withat least one digital representation of an activation area with aposition code, to show the template on a display, to receive a signalwith information about the choice of at least one of said at least oneactivation area, and to generate a digital representation of the productusing the information signal.

The program is advantageously arranged to receive information forassociating an operation with at least one of said at least oneactivation area.

The program is thus intended for a developer of a product and servicesconnected with the product. According to an embodiment of the program, auser of the program initiates the entering of a template from a networkserver, for example, connected to the Internet, from which server theuser has bought a license to obtain a template using which the user cancreate a digital representation of a product by selecting differentparts of the template. The user can thereafter create differentoperations and connect them to different activation areas on the digitalrepresentation of the product. Finally, the user makes the product, forexample by printing a calendar or some other product.

According to another aspect of the present invention, the presentinvention relates to a method and a computer program for developing aservice connected with a product that has at least one activation areawhich is provided with a position code that codes at least one positionon an imaginary surface, which position causes a device which detectsthe position code to initiate an operation that utilizes the positionrecorded by the device. The method and the computer program arecharacterized by the step of showing a digital representation of theproduct on a display, each image point in the digital representation ofthe activation area corresponding to a position on the imaginarysurface. A computer program and a method according to this aspect of theinvention are intended for development of a service connected with theproduct, the service being advantageously set up on a server with whicha user can make contact, for example by means of the above-mentioneddevice.

According to a further aspect of the present invention, a digitaltemplate is provided, which digital template is intended for developmentof a product that has at least one activation area which is providedwith a position code that codes at least one position on an imaginarysurface, which position causes a device, that detects the position code,to initiate an operation that utilizes the information recorded by thedevice. The template comprises image points, each image point in thedigital representation of the activation area corresponding to aposition on the imaginary surface.

The different characteristics that have been described in connectionwith the method according to the first aspect above can also beimplemented in the memory medium, the method, the computer program andthe digital template according to the other aspects of the presentinvention with the same advantages as mentioned above.

Of course, the different characteristics as described above can becombined in the same embodiment.

In order to illustrate the invention more clearly, detailed embodimentsof the invention will be described in the following, however, withoutthe invention being restricted to these.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates the method for generating a product and serviceaccording to the invention.

FIG. 2 shows a template for generating a digital representation of aproduct.

FIG. 3 illustrates a digital representation of a product that wasgenerated based on the template and the corresponding product.

FIG. 4 shows a part of the position code.

FIG. 5 shows individual symbols in relation to a virtual raster.

FIG. 6 illustrates the imaginary area within which the position codecodes different positions.

FIG. 7 shows a device for recording the position code.

FIG. 8 illustrates a program for testing the digital representation ofthe product.

FIG. 9 illustrates the making and testing of a product according to anembodiment of the present invention.

FIG. 10 shows how a product is verified relative to the digitalrepresentation of the product.

DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 shows a flowchart for the development of a product and a serviceaccording to the invention. A user buys a license to develop and sell aproduct with a position code that codes at least one position on animaginary surface. The license is recorded in a name server 101, inwhich information is stored about the identity of the user and aboutwhich positions on the imaginary surface the user has licensed. Theinformation about the user is sent from the name server 101 to atemplate server 102, from which the user can obtain a template in orderto develop his product. In block 103 a template is obtained from thetemplate server 102. FIG. 2 shows the template 201 that the userobtained from the template server 102. The template 201 is intended forthe development of a note page. The template comprises a digitalrepresentation of a writing surface 203, a digital representation of acommand field 204 and a digital representation of acharacter-interpretation area A. FIG. 1 shows in the upper half thesteps that are carried out by someone who is creating the actualproduct. The lower half of the figure shows the steps that are carriedout by someone who is programming a server to carry out a serviceconnected to the product.

It is sufficient for either the persons who are creating the servicethat is connected to the product or the persons who are creating theproduct to license the position code.

It is thus possible for there to be different companies creating theservice and the product respectively. However, it may be the samecompany that creates the service as well as the product.

According to the preferred embodiment, the license defines to whichpositions on the imaginary surface a licensee has access.

The digital representation consists of image points where each imagepoint is allocated a position on the imaginary surface. The image pointsare reproduced on a screen, each image point in the digitalrepresentation corresponding to a pixel on the screen. On screens withlow resolution, however, each pixel can be allocated several imagepoints, for example 4, 9 or 16 adjacent image points, while in othercases each image point can be allocated several pixels, for example, inthe event of high enlargement of the digital representation on thescreen. To mark a track on the screen, for example with a mouse, anumber of pixels are marked, and corresponding image points are markedon the digital representation.

On the digital representation of the writing surface 203 there is aposition code which is constructed of symbols. Each symbol comprises amark in the form of a point 206. The location of the point 206 inrelation to an imaginary raster that extends over the writing surfacedetermines the value of the symbol. For the sake of clarity, theposition code is shown schematically on only a small part of the writingsurface and this part of the position code has been enlarged alongsidethe template. There is an association between image points on the screenand the positions that the corresponding product codes.

The position code will be described in greater detail below.

The position code makes it possible to record graphical information, forexample handwritten text and numbers and hand-drawn figures,electronically, at the same time as the graphical information is beingwritten or drawn on the writing surface 203. More particularly, theposition is recorded continuously of a pen point, which is writing ordrawing the graphical information, by reading off the position codelocally at the pen point. In this way, a digital representation of themovement of the pen point across the writing surface is achieved.

In the command field 204 there are seven different digitalrepresentations of activation fields 207 a-g that can be used to cause adevice to initiate and/or carry out various operations. The fields 207a-g comprise on the one hand an activation area 208 that is the areawithin which a user of the completed product can place a device, such asa reading pen, in order to record the field and in this way initiate anoperation, and, on the other hand, a visual indication 209 of thefunction of the field which is so designed graphically that the user ofthe product can understand which operation is activated by the field.The visual indications 209 consist in this example of images, but theycan also comprise text and/or numbers and/or other symbols. They arefurther located in the activation areas 208, but they can also belocated outside the activation areas but in association with these, ifthey are not used for the detection and identification of the field.

The fields 207 can interpret a plurality of different activities. Anexample of a function that can be interpreted by the fields is coloradjustment, in which case recording of an image in the color adjustingfield means that information that is being entered, has been entered, orboth, should then be interpreted as being in the color defined by thecolor adjusting field.

In the embodiment shown, the activation areas are provided with the sameposition code as the writing surface, but the position code codes one ormore other positions than those that are coded by the position code onthe writing surface. The position code is shown schematically on only asmall part of one of the activation areas and this part has beenenlarged.

Corresponding to each field there is an operation that is to beinitiated when the field is “activated”, that is, is detected by adevice intended for the purpose. The fields in this embodiment are justexamples.

The user that designs the digital representation of the product cancreate, for example, his own activation areas by connecting operationsto predefined areas on the writing surface. Said operations may bepredefined. These predefined areas are designated 220 in FIG. 2. Thedevice that records the position code recognizes the positions that arein these predefined areas. An advantage of this is that the device readsa continuous position code more easily. The activation areas have theproperty that the reading pen knows that the application server is to becontacted when the position code in the activation areas is recorded bythe pen. Thus, in order to be able to contact the correct applicationserver the reading pen contacts the name server denoted 101 in FIG. 1.

At the bottom of the template there is a character-interpretation fieldA. This is primarily intended for address information such as faxnumbers, telephone numbers or e-mail addresses that are required inassociation with various operations that are initiated by the activationareas and that need to be character-interpreted, but it can also be usedfor keywords and other text that needs to be character-interpreted. Thecharacter-interpretation field A is visually distinguished from thewriting surface so that its extent is obvious to the user. In thisembodiment, the area is also divided into sections B, each of which isintended to receive one character. The character-interpretation area isprovided with the same position code as the writing surface and theactivation areas, but the position code in the address area codesdifferent positions to the position code on the writing surface and theactivation areas. The position code is shown schematically on only asmall part of the area A. This part has been enlarged.

FIG. 3 shows an image of a product in the form of a note page that wasgenerated based on the template in FIG. 2. The note page in FIG. 3 canbe regarded as both a product and as a digital representation of a notepage and in the following text will be dealt with in both ways. The notepage 301 has a writing surface 303 which is provided with a positioncode which makes it possible to detect positions from the writingsurface. The digital representation of the note page 301 has beencreated by selecting a subset from the template 201. In the flow chartin FIG. 1 this is carried out in block 104. In block 104 the selectionof different parts of the template for generation of the digitalrepresentation of the product is not just carried out. In block 104other graphical information is also inserted, such as the text over thecharacter-interpretation field A, which text informs a user that he isexpected to write his address and his telephone number in the field. Ifrequired, in block 104 colors and other graphical information are alsoinserted, in order to give the product an attractive appearance. Theuser sees what the digital representation looks like on the display 111.

After the digital representation of the note page 301 has been createdin block 104, it is sent to block 105 for programming of an operation oran application connected to the note page 301.

It is, of course, possible to program the operation/application beforecreating the graphical appearance of the product. In this case,different areas are associated with the programmed application after theapplication has been programmed. Thus, according to this embodiment,applications have been programmed before different areas in the digitalrepresentation have been associated with the application.

The output signal from block 104 is on the one hand the digitalrepresentation of the product that is sent to block 105 and, on theother hand, a digital representation in the form of a printer file thatis sent to be printed out in block 109 in order to create the product110.

For example, the operation/application can be such that it is initiatedby a user of the note page recording the position code at the mailsymbol 307 c. A reading pen that reads off the position code at the mailsymbol then recognizes that the positions that are coded by the positioncode belong to an activation area and accordingly makes contact with thename server 101. The name server sends information to the pen to theeffect that it is to contact the application server 108 that isassociated with the note page. The application server 108 in turnrequests information from the pen according to a preprogrammed program.

The operation/application is thus developed in block 105 by programmingwhat information it requires from a pen that invokes it. In addition, itis possible to program how the operation/application in the applicationserver is to use the data it has obtained from the pen. The applicationcan thereafter be tested using the digital representation of theproduct, without any product needing to be made.

An example of how the operation/application is tested in block 107 willnow be described with reference to FIG. 3. When testing the application,this is carried out using the digital representation of the product 301that is shown in FIG. 3. When a user writes text, for example using amouse, in the digital representation of the writing field 303 on thedisplay that shows the digital representation of the product, thedifferent image points that have been written on are converted intopositions in the imaginary area that are associated with the digitalrepresentation of the product. The different positions are thereafterstored in a memory. As the image points in the digital representation ofthe activation area 308 are recorded by the pen emulator, the imagepoints are converted into positions, using the points 306 in theposition code, that are interpreted as a message to send something tothe application which is associated with the position code. In thiscase, the visual indication 309 is a mail symbol.

In the case with a real product that is sold to consumers, the readingpen sent a request to the name server (PLS), corresponding to 101 inFIG. 1, in order to find out the address of the application server withwhich the position code that was recorded in the activation area isassociated. Thereafter the reading pen sent a signal to the applicationserver in order to initiate a dialogue with the application server. Thenthe application server specified what information it wanted the readingpen to supply it with. However, each contact with the name server ischarged for, for which reason an attempt is made to avoid this whentesting the product.

In the case of testing the application in the digital representation ofthe product, contact with the computer, where the application is beingdeveloped, is therefore initiated directly by the pen emulator where thedigital representation of the product is being tested. For example, thecomputer asks for the characters that were written in thecharacter-interpretation field A and interprets the characters as anaddress. The computer asks for the positions of the image points thatwere marked in the digital representation of the writing field 303 andalso sends the positions to the address that was specified incharacter-interpretation field A.

All the information of the digital representation of the product is notessential for testing the application with the digital representation ofthe product. Thus, a second digital representation of the productwithout any information relating only to the appearance of the productmay be used for this testing.

In the case with a real product that is sold to consumers and a realreading pen, the reading pen accesses the address of the applicationserver that asks for the positions for the message that was written onthe writing surface, characters that were written in thecharacter-interpretation field and the identity of the reading pen. Theapplication server can thereafter send the message that was written onthe writing surface to the address that was written in thecharacter-interpretation field and can debit the user who is associatedwith the identity of the reading pen.

There can be several different companies that create products that aresuitable for a particular service.

A program for developing and testing the digital representation of theproduct and the corresponding application is illustrated in FIG. 8. Theprogram comprises advantageously a development module that enters atemplate from the template server and a development module that isadapted to develop the program in the application server. In thedevelopment module, different operations are connected to the digitalrepresentation of the product so that the application server knows howto process data when it receives a message to the effect that theactivation area for “send” has been recorded by a pen. A graphical userinterface module 801 is used to test the application. The user interfacemodule 801 has access to the digital representation of the product. Asdescribed above in connection with FIG. 3, the marking of image pointsin the digital representation of the product means that the image pointsare sent to a pen emulator 802 that converts the image points into a setof positions that processes the positions in the same way as a readingpen. There is connected to the pen emulator a pen protocol module 803which ensures that the set of positions from the pen emulator are sentout in the same way as from a real pen. In order to test that everythingis working as it should, the pen emulator sends the set of positionsfrom the pen emulator to the name server 806 which has a pen protocolmodule 804 of the same kind for interpreting the information from thepen emulator. The name server 804 gives information to the pen emulatorto the effect that it is to contact the application server 807 which isalso connected to a pen protocol module in order to interpret theinformation from the pen emulator. The pen protocol module, the penemulator and the graphical user interface module are obtained from thesoftware server 106 that is shown in FIG. 1.

As it costs money to place a request with the name server the testing ispreferably carried out locally on the computer where the application isbeing developed. This is done by directly sending the set of positionsto the application server 807.

It is possible for a user to obtain the pen protocol module, the penemulator, the graphical user interface module and all other software ona CD or any type of magnetic storage media.

FIG. 9 shows a flow chart of the production and testing of a lot ofproducts according to an alternative embodiment of the presentinvention. A user makes in step 901 a digital representation (EPS) ofpart of a product with a first graphical design tool. What is being madein step 901 is the same as in step 104 in FIG. 1. This output signalfrom the graphical design tool is used as a printout file (EPS) which ina second graphical design tool is attached to a document 903 which islater sent to a printing press 904 for printing a product 905. A seconddigital representation of the part of the product (PAD) is also sent toa first computer 906 for testing of the digital representation of partof the product and to a second computer 907 for testing of the printedproduct. The PAD is a version of the EPS without information relatingonly to the appearance of the product.

Preferably after the testing has proved satisfactory, a test product isprinted in an ordinary printer 908 which produces printouts withsufficient accuracy. Preferably, the printer is a laser printer, but isalternatively, some other type of printer that produces printouts ofsufficiently high quality, such as a high quality ink jet printer.

The product that has been printed in the printer is then tested with areading pen in 909 which communicates with an application server (ASH)via a mobile phone 910. The test product is here tested for function.After the test has proved satisfactory, a small amount of products 905are printed in the printing press 904. Then the products are tested witha reading pen 909 before the entire desired lot of products is printedin the printing press 904.

An alternative testing of a product will now be described in more detailwith reference to FIG. 10. FIG. 10 a shows a display 1001 on which adigital representation 1002 of a product is shown. In the digitalrepresentation 1002 of the product, a digital representation of anactivation area 1003 is shown. FIG. 10 b shows a product 1004 whichcorresponds to the digital representation 1002 in FIG. 10 a. Theproducts 1004 has a field 1005 which corresponds to the digitalrepresentation of an activation area 1003. On the digital representationof the product there is not only graphical information but also aposition-coding pattern which codes positions on an imaginary surface,as described above. It is of interest to test that the graphics iscorrectly aligned with the pattern. This is important since the correctpart of the position-coding pattern should be marked when an image isrecorded in the field 1005. When it is to be tested that theposition-coding pattern is correctly aligned with the field 1005, thebutton 1003 is marked on the display with a cursor 1006. Then images ofeach of the four edges 1007 of the field 1005 are recorded on theproduct. This is carried out by means of a testing device 1008 which isprovided with a recording button 1009 and a sighting aid 1010, withwhich it is possible to align the testing device and by means of whichit is possible to see which area is to be recorded. When the testingdevice has been aligned so that the edge of the field 1005 is seen, therecording button 1009 is pressed to record an image of the edge of thefield. The recorded images are transformed into positions. Subsequentlythese positions can be compared with the positions on the marked digitalrepresentation of an activation area, which positions are stored in thedigital representation of the product. No application server or nameserver is needed for this testing.

The above-described testing of the product is preferably carried outafter printing in a printer. In this way the expensive printing processdoes not have to be started before a test product has been tested.

A similar testing is preferably performed continuously during theprinting in a large scale printing press. This makes it possible to stopthe printing process if the quality degrades due to wear of the printingplates.

By testing in several steps, it is possible to interrupt the printing incase of faults, thus saving quite a lot of money for a final user.Particularly the last testing step is important, i.e. when a small testlot of the product is printed since all settings that have been made arethen tested the first time.

FIG. 9 shows that the digital representation is only a small part of theproduct, i.e. an advertisement in the upper corner of a newspaper page.

The position code can be of various types. A possible type of positioncode where each position is coded by a unique symbol is described inU.S. Pat. No. 5,852,434 mentioned by way of introduction.

In the preferred embodiment of the present invention, however, eachposition is advantageously coded by means of a plurality of symbols andthe coding is such that each symbol in the position code contributes tothe coding of more than one position. This means that two adjacentpositions have partly shared symbols. In this way, a higher resolutionis obtained and the detection is simplified as the individual symbolscan be less complex. This type of overlapping or floating position codecan be achieved by using a computer. A special way of generating such afloating position code is described in Applicant's previous PCTapplication No. SE00/01085 which is incorporated herewith by reference.

During recording of images of the product in connection with the testingof the same, a check of other aspects of the pattern, such as the sizeof marks in the pattern and distances between marks in the pattern, ismade according to a preferred embodiment.

Other properties in the printed product that is tested are, for example,form and/or density of the mark. Instead of testing the density, it ispossible to check the contrast between the mark and the surroundingarea.

The testing of the contrast between the mark and the surrounding area isadvantageously carried out at more than one wavelength. For instance,this is carried out at a plurality of wavelengths.

The marks preferably has a simple geometric shape. Thus they areadvantageously approximately circular, triangular or rectangular. Theycan be filled in or not, but the former alternative is preferred sincethis makes detection easier.

In the case where the marks are circular and of the type described abovewhere the value of the marks depends on their position in relation to anominal position, the mark should not cover its nominal position andshould therefore not have a diameter larger than twice the displacement,i.e. 200%. However, this is not crucial, but a certain overlap can beallowed, e.g. 240%. The smallest size is determined in the first placeby the resolution of the sensor and the requirements as regards theprinting process to make the pattern. However, the marks should not havea diameter smaller than about 50% of the displacement, in the practicalcase in order to prevent problems involving particles and noise of thesensor.

In the following, an alternative type of floating position code isdescribed which is the currently most preferred position code. Thisposition code is the object of Applicant's PCT Applications SE00/01895,SE00/01897 and SE00/01898.

A notepad that utilizes a position code is described in Applicant'sprevious PCT Application SE00/01667 and the corresponding Swedishapplication 9903051-2 which are hereby incorporated by this reference.

FIG. 4 shows an enlarged part of the note page 401 in FIG. 1, which onits surface 402 is provided with the position code 403 with a pluralityof symbols 406. The page has an x-coordinate axis and a y-coordinateaxis.

The position code comprises a virtual raster, which is thus neithervisible to the human eye nor can be detected directly by a device whichis to determine positions on the surface, and a plurality of symbols406, each of which can assume one of the four values “1” to “4” asdescribed below.

The position code is so arranged that the symbols on a partial surfaceof the page code absolute coordinates for a point on an imaginarysurface, as will be described below. A first and a second partialsurface 425 a, 425 b are shown by broken lines in FIG. 4. The part ofthe position code (here 4×4 symbols) which is situated on the firstpartial surface 425 a codes the coordinates for a first point and thepart of the position code which is found on the second partial surface425 b codes the coordinates for a second point on the imaginary surface.The position code is thus partly the same for the adjoining first andsecond points. Such a position code is called “floating” in thisapplication.

FIGS. 5 a-d show an embodiment of a symbol that can be used in theposition code. The symbol comprises a virtual raster point 530, which isrepresented by the intersection between the raster lines, and a mark 506in the shape of a dot. The value of the symbol depends on where the markis placed. In the example in FIG. 5 there are four possible locations,one on each of the raster lines extending from the raster points. Thedisplacement from the raster point is the same size for all values. Inthe following, the symbol in FIG. 5 a has the value 1, in FIG. 5 b thevalue 2, in FIG. 5 c the value 3 and in FIG. 5 d the value 4. Expressedotherwise, there are four different types of symbols.

It should be pointed out that the dots can of course be other shapes.

Each symbol can thus represent four values “1-4”. This means that theposition code can be divided into a first position code for thex-coordinate, and a second position code for the y-coordinate. Thedivision is carried out as follows:

Symbol value x-code y-code 1 1 1 2 0 1 3 1 0 4 0 0

The value of each symbol is thus converted into a first digit, here bit,for the x-code and a second digit, here bit, for the y-code. In thisway, two completely independent bit patterns are obtained. The patternscan be combined into a common pattern, which is coded graphically usinga plurality of symbols, according to FIG. 5.

FIG. 6 illustrates how different parts of the imaginary surface 601which is coded by the position code can be used for different purposes.A first partial area 602 is intended for activation areas 208, 308(FIGS. 2 and 3) and a device which is intended for detecting theposition code recognizes the part of the imaginary surface whichconsists of the first partial area. A second partial area 603 definesactivation areas that are associated with sending. A licensee who isgoing to develop a notepad such as the one shown in FIG. 3 is allocateda subsidiary partial area 604 which is a small part of the secondpartial area 603. In the same way, a second subsidiary partial area 605is a part of a third partial area 606 that is associated with textrecognition. Thus a device that records a position code that is part ofthe third partial area 606 can determine directly whether the recordedsequence of positions is to be interpreted as a character.

FIG. 7 shows a reading pen that can be used to record a position codeaccording to the above description.

The device comprises a casing 711 which is approximately the same shapeas a pen. In the short side of the casing there is an opening 712. Theshort side is intended to abut against or to be held a short distancefrom the writing surface 303, the address area A and the activationfields 307 a-307 g (cf. FIG. 3).

The casing contains principally an optics part, an electronic circuitrypart and a power supply. The optics part comprises at least one infraredlight-emitting diode 713 for illuminating the surface which is to beimaged and a light-sensitive area sensor 714, for example a CCD or CMOSsensor, for recording a two-dimensional image. If required, the devicecan also contain a lens system (not shown).

The power supply for the device is obtained from a battery 715, which ismounted in a separate compartment in the casing.

The electronic circuitry part contains a signal processor 716. Thesignal processor 716 is realized by means of a suitably programmedmicroprocessor. It contains software for analyzing images from thesensor to produce a digital representation of the graphical informationwhich is produced on the writing surface and for detecting theactivation areas. It further contains software for initiating and/orexecuting the operations determined by the activation areas. It can alsocontain user software, such as an address book program to enable theuser to keep track of address information, a calendar program to enablethe user to keep track of calendar information, such as meetings,birthdays and other information which is written in a diary or calendar,and also a “to do” list program to enable the user to enter tasks to becarried out.

The signal processor 716 also advantageously comprises ICR softwarewhich can be used to interpret recorded characters so that they can bestored, managed and/or forwarded in character-coded format.

The signal processor further comprises a memory 717 for storinginformation that is recorded from the writing surface 703 and theaddress area A.

On the casing of the device there is in addition a pen point 718, usingwhich the user can write ordinary pigment-based writing on the writingsurface. The pen point 718 is extendable and retractable so that theuser can control whether or not it is to be used. The pen point isdisplaced in relation to the sensor 714. Thus the sensor does not detectthe exact position of the pen point. However, if so required, this canbe calculated from knowledge of the position of the pen point inrelation to the sensor.

The device may also comprise buttons 719, by means of which the devicecan be activated and controlled for operations that are not controlledby the activation fields.

It has also a transceiver 720 for wireless transmission, via ashort-range radio link according to, e.g., the Bluetooth standard, ofinformation over short distances. This wireless transmission can beutilized when the device cannot carry out all the initiated operationitself, but needs to pass on the recorded information to an externalunit, along with information about which operation is to be carried out.Finally, the device can comprise a display 721 for showing, for example,recorded information. The display is not necessary. To the extent thatdisplay is required at all, information can be shown on a display on anexternal unit.

Of course the invention is not restricted to the embodiments describedabove and those skilled in the art realize that the invention can bemodified within the scope of the appended claims.

For instance, it is not necessary to use an infrared light-emittingdiode in the device which is intended to illuminate the product whenrecording an image, but some other suitable source of light could beused just as well. It is also possible to dispense with the light sourceof the device and use the surrounding light.

It goes without saying that it is possible to use an ordinary printer toproduce the products that are made according to the inventive method.Thus it is not necessary to use printing presses for this purpose.

1. A method for developing a tangible product that has at least one code area provided with a position code that codes a set of positions on a reference surface, a position in said set of positions causing a code reader that detects the corresponding position code to initiate a given operation, said method comprising: accessing a digital product development template, said digital product development template being associated with a plurality of positions on the reference surface; designing a product layout using the digital product development template by selecting at least one subset of the plurality of positions associated with the digital product development template to be encoded in said at least one code area, said product layout including at least one position-coding area and supporting graphics, wherein said at least one position-coding area corresponds to said at least one code area of the tangible product, and said supporting graphics correspond to visual indications on the tangible product; and producing a digital representation of at least part of the product layout; wherein said position code comprises a plurality of grid points, and a plurality of marks which are located relative to the grid points to encode a grid point value of each grid point; each position in said set of positions being coded by a respective combination of said grid point values; and wherein each one of said plurality of grid points is defined by an intersection of at least two grid lines of a virtual grid.
 2. The method of claim 1, further comprising: generating the tangible product by means of the digital representation of the product layout.
 3. The method of claim 2, further comprising: testing the tangible product by comparing the generated product and the digital representation of the product layout.
 4. The method of claim 3, wherein said testing comprises: recording an image of a part of said at least one code area on the generated product; converting the thus-recorded image into a recorded position; and comparing the recorded position with a co-located position in the digital representation of the product layout.
 5. The method of claim 1, further comprising: testing the tangible product by means of the digital representation of the product layout.
 6. The method of claim 5, wherein said digital representation comprises image points which correspond to positions on the reference surface.
 7. The method of claim 6, wherein said testing further comprises: selecting at least one image point within said position-coding area; and deriving a selected position on the reference surface based on the thus-selected image point.
 8. The method of claim 7, further comprising: initiating the operation by use of the selected position on the reference surface.
 9. The method of claim 6, further comprising: displaying the digital representation on a display, with several pixels, each pixel being representative of at least one image point; and when a pixel is selected, converting the thus-selected pixel into at least one selected image point and deriving a selected position on the reference surface based on the selected image point.
 10. The method of claim 9, further comprising: initiating the operation by use of the selected position on the reference surface.
 11. The method of claim 1, wherein the digital product development template further defines a plurality of activation areas on the reference surface, each activation area being associated with a predetermined operation to be initiated by the code reader, said designing comprising: selecting at least a portion of an activation area in the digital product development template.
 12. The method of claim 1, wherein the digital product development template further defines at least one writing area on the reference surface.
 13. The method of claim 12, wherein the writing area is associated with an operation causing the code reader to record positions representing its movement within the writing area.
 14. The method of claim 13, wherein the writing area is further associated with an operation causing the code reader to convert the thus-recorded movement to machine characters.
 15. The method of claim 12, further comprising: selecting a portion of the writing area; associating an application operation with the thus-selected portion; and providing an instruction set that corresponds to the application operation to an application server which is arranged to communicate with the code reader for receiving positions recorded from the tangible product, wherein a position within the selected portion of the writing area causes the application server to initiate the application operation.
 16. The method of claim 15, wherein the application operation operates on positions recorded within the selected portion of the writing area.
 17. The method of claim 1, wherein a first and a second position in said set of positions are coded by first and second combinations, respectively, of said grid point values, the second combination containing a portion of the grid points of the first combination.
 18. The method of claim 1, wherein information corresponding to the digital product development template is stored in the code reader, so as to associate said position in said set of positions with said given operation.
 19. The method of claim 1, further comprising: reproducing the digital product development template on a screen, wherein said product layout is designed based on the thus-reproduced digital product development template.
 20. A method for developing a tangible product that has at least one code area provided with a position code that codes a set of positions on a reference surface, a position in said set of positions causing a code reader that detects the corresponding position code to initiate a given operation, said method comprising: accessing a digital product development template, said digital product development template being associated with a plurality of positions on the reference surface; designing a product layout using the digital product development template by selecting at least one subset of the plurality of positions associated with the digital product development template to be encoded in said at least one code area, said product layout including at least one position-coding area and supporting graphics, wherein said at least one position-coding area corresponds to said at least one code area of the tangible product, and said supporting graphics correspond to visual indications on the tangible product; and producing a digital representation of at least part of the product layout; wherein said position code comprises a plurality of grid points, and a plurality of marks which are located relative to the grid points to encode a grid point value of each grid point; each position in said set of positions being coded by a respective combination of said grid point values; and wherein the marks are displaced from the grid points to encode said grid point values; and each one of said plurality of grid points has a single associated mark to encode a grid point value; and wherein each said single associated mark is displaced in one of four predetermined directions from the grid point to encode the grid point value.
 21. A device for developing a tangible product provided with a position code that codes at least one position on a reference surface, wherein said position, when detected on the tangible product by a code reader and transmitted to an application program, causes the application program to initiate a predetermined application operation; said device comprising: an interface module which derives a digital representation of the tangible product, wherein the digital representation comprises image points corresponding to said at least one position on the reference surface; a displaying module which reproduces the digital representation on a display, with several pixels, each pixel being representative of at least one image point; and an emulator module which, when a pixel is selected on said display, converts the thus-selected pixel into at least one selected image point and derives a selected position on the reference surface based on the selected image point.
 22. The device of claim 21, further comprising an output module which provides the selected position to the application program.
 23. The device of claim 22, wherein the output module operates according to a code reader communication protocol to mimic said code reader in providing the selected position to the application program. 